15030 - 0 - Practical Foundations for Programming Languages : Second Edition

نویسنده

  • Robert Harper
چکیده

binding trees, or abt’s, enrich ast’s with the means to introduce new variables and symbols, called a binding, with a specified range of significance, called its scope. The scope of a binding is an abt within which the bound identifier can be used, either as a place-holder (in the case of a variable declaration) or as the index of some operator (in the case of a symbol declaration). Thus, the set of active identifiers can be larger within a subtree of an abt than it is within the surrounding tree. Moreover, different subtrees may introduce identifiers with disjoint scopes. The crucial principle is that any use of an identifier should be understood as a reference, or abstract pointer, to its binding. One consequence is that the choice of identifiers is immaterial, so long as we can always associate a unique binding with each use of an identifier. As a motivating example, consider the expression let x be a1 in a2, which introduces a variable x for use within the expression a2 to stand for the expression a1. The variable x is bound by the let expression for use within a2; any use of x within a1 refers to a different variable that happens to have the same name. For example, in the expression let x be 7 in x + x occurrences of x in the addition refer to the variable introduced by the let. On the other hand, in the expression let x be x ∗ x in x + x, occurrences of x within the multiplication refer to a different variable than those occurring within the addition. The

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Commentary on Practical Foundations for Programming Languages (Second Edition)

The earliest attempts to systematize the study of programming languages made use of the concept of a paradigm, apparently from Thomas Kuhn’s The Structure of Scientific Revolutions. The trouble is, with respect to programming languages at least, no one can say what is a paradigm, or when we know we have a new one. Nevertheless, it has become commonplace to classify languages into trendy-soundin...

متن کامل

In what sense is the OED the definitive record of the English language ?

OED (2011) presents itself as “Oxford English Dictionary | The definitive record of the English language”. Superficially, this claim may seem a marketing slogan, but Simpson’s (2000) preface to the third edition shows that it is a reflection of the editors’ understanding of their dictionary, what may be called their ‘lexicographic ideology’. In this paper, I consider the claim from three perspe...

متن کامل

Notes on Predicate Calculus and Logic Programming

[1] Apt, K. R.: Logic Programming, Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), Elsevier Science Publishers B.V., 1990. [2] Chang, C.-L. and Lee, R. C.-T.: Symbolic Logic and Mechanical Theorem Proving, Academic Press Inc., 1973. [3] Kowalski, R.: Logic for Problem Solving, North Holland, 1979. [4] Lloyd, J. W.: Foundations of Logic Programming, 2nd Edition, Springer Verlag, ...

متن کامل

Notes on Predicate Calculus and Logic Programming

[1] Apt, K. R.: Logic Programming, Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), Elsevier Science Publishers B.V., 1990. [2] Chang, C.-L. and Lee, R. C.-T.: Symbolic Logic and Mechanical Theorem Proving, Academic Press Inc., 1973. [3] Kowalski, R.: Logic for Problem Solving, North Holland, 1979. [4] Lloyd, J. W.: Foundations of Logic Programming, 2nd Edition, Springer Verlag, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016